async await 怎么用,如何捕获异常?
async
和await
是什么
async
和await
关键字让我们可以用一种更简洁的方式写出基于Promise
的异步行为,而无需刻意地链式(then
)调用promise
,await
只能放在async
函数里面,她的语法和结构会更像是同步函数。 总结为一句话:async/await
是调用promise
的语法糖
为什么用await
await
语法和结构会更像是同步函数。
async
和await
用法
function resolveAfter2Seconds(x) {
return new Promise(resolve => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
async function f1() {
var x = await resolveAfter2Seconds(10);
console.log(x); // 10
}
f1();
如何捕获异常
try/catch
async function f3() {
try {
var z = await Promise.reject(30);
} catch (e) {
console.log(e); // 30
}
}
f3()